"0x02223d38"指令引用的 "0x02223d38"内存。内存不能为“written”

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:17:49
那位大侠可以帮帮忙解决啊。偶尔打开有些磁盘文件或U盘时时会出现"0x02223d38"指令引用的 "0x02223d38"内存。内存不能为“written”的对话框,问我要不要调试。我按确定不要后,电脑桌面重启下下,有时候会重启不成功的话桌面上就什么都没有哦,要在任务管理器里运行explorer才可以再出现桌面。

有两个方面的原因引起的。
一是硬件问题。硬件问题一般都是内存的地址分配失败了,还有可能是内存坏了或者质量有问题。
二是软件问题。在使用动态分配的应用程序中,有时会有这样的情况出现:程序试突读写一块「应该可用」的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是「忘记了」向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而「没有留意」等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图「违法」的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为「0x00000000」,而是其它随机数字。而在内存中有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。这个问题,经常出现windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作,系统为保持稳定,就会出现上述情况。

不要调试,可能是病毒,数据执行保护所致资源管理器重启。